package putYourHands.app;

import java.util.GregorianCalendar;
import java.util.List;

/**
 * Esta clase representa una <b>Atencion</b para un <b>Paciente</b>
 * 
 * @author Pedro
 * 
 */
public class Atencion {

	// Diagnostico del Paciente
	private Diagnostico diagnostico;

	// FIXME Validar los caracteres que puede contener
	private String nroAutorizacion;

	// FIXME Validar los caracteres que puede contener
	private String nroBono;

	// Lista de tratamientos
	private List<Tratamiento> tratamientos;

	// Sesiones asistidas para la Atencion
	private List<Sesion> sesionesAsistidas;

	// Fecha de inicio de la atencion
	private GregorianCalendar fechaInicio;

	// Nombre del profesional que diagnostico
	private String nombreMedico;

	// Cantidad de sesiones para esta Atencion
	private int cantSesiones;

	private String observaciones;

	public Diagnostico getDiagnostico() {
		return diagnostico;
	}

	public void setDiagnostico(Diagnostico diagnostico) {
		this.diagnostico = diagnostico;
	}

	public List<Tratamiento> getTratamientos() {
		return tratamientos;
	}

	public void setTratamientos(List<Tratamiento> tratamientos) {
		this.tratamientos = tratamientos;
	}

	public GregorianCalendar getFechaInicio() {
		return fechaInicio;
	}

	public void setFechaInicio(GregorianCalendar fechaInicio) {
		this.fechaInicio = fechaInicio;
	}

	public String getNombreMedico() {
		return nombreMedico;
	}

	public void setNombreMedico(String nombreMedico) {
		this.nombreMedico = nombreMedico;
	}

	public int getCantSesiones() {
		return cantSesiones;
	}

	public void setCantSesiones(int cantSesiones) {
		this.cantSesiones = cantSesiones;
	}

	public String getObservaciones() {
		return observaciones;
	}

	public void setObservaciones(String observaciones) {
		this.observaciones = observaciones;
	}

	public List<Sesion> getSesionesAsistidas() {
		return sesionesAsistidas;
	}

	/**
	 * Crea una <b>Sesion</b> y la agrega a la lista de sesiones asistidas
	 * 
	 * @param fechaYHora
	 */
	public void asistirASesion(GregorianCalendar fechaYHora) {
		Sesion sesionAsistida = new Sesion(fechaYHora);
		this.getSesionesAsistidas().add(sesionAsistida);
	}

	public String getNroAutorizacion() {
		return nroAutorizacion;
	}

	public void setNroAutorizacion(String nroAutorizacion) {
		this.nroAutorizacion = nroAutorizacion;
	}

	public String getNroBono() {
		return nroBono;
	}

	public void setNroBono(String nroBono) {
		this.nroBono = nroBono;
	}
}
